package com.ibeeking.found.upms.b.rest.service;

import com.ibeeking.found.upms.service.common.bo.CsUserBO;
import com.ibeeking.found.upms.service.common.param.CsUserParam;
import com.ibeeking.found.upms.service.common.query.CsUserPageQuery;
import com.ibeeking.found.upms.service.common.vo.CsUserPageVO;
import com.ibeeking.found.upms.service.common.vo.CsUserVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @ClassName ICsUserService
 * @Description
 * @Author ibeeking
 * @Date 2021-04-28 11:46
 **/
public interface ICsUserService {

    /**
     * 分页查询客服
     *
     * @param query
     * @return
     */
    Page<CsUserPageVO> pageList(CsUserPageQuery query);

    /**
     * 新增
     *
     * @param param
     * @return
     */
    Boolean add(CsUserParam param);

    /**
     * 修改
     *
     * @param param
     * @return
     */
    Boolean modify(CsUserParam param);

    /**
     * 查询
     *
     * @param id
     * @return
     */
    CsUserVO view(Long id);

    CsUserBO queryById(Long id);

    /**
     * 锁定/解锁
     *
     * @param id
     * @param status
     * @return
     */
    Boolean lock(Long id, Integer status);

    /**
     * 离职
     *
     * @param id
     * @return
     */
    Boolean quit(Long id);

    /**
     * 删除客服
     *
     * @param id
     * @return
     */
    Boolean del(Long id);

    /**
     * 重置客服密码
     *
     * @param id
     * @return
     */
    Boolean resetPwd(Long id);

    /**
     * 根据手机号或者姓名模糊查询
     *
     * @param nameOrMobile
     * @return
     */
    List<CsUserVO> listByNameOrMobile(String nameOrMobile);
}
